package cn.org.book.shop.article.domain;

import cn.org.book.shop.common.annotation.Excel;
import cn.org.book.shop.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 用户基础数据对象 ap_user
 *
 * @author wanghongjie
 * @date 2020-11-30
 */
public class ApUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 用户昵称
     */
    @Excel(name = "用户昵称")
    private String nickName;

    /**
     * 用户头像
     */
    @Excel(name = "用户头像")
    private String avatarUrl;

    /**
     * 用户性别
     */
    @Excel(name = "用户性别")
    private Long gender;

    /**
     * 国家
     */
    @Excel(name = "国家")
    private String country;

    /**
     * 省份
     */
    @Excel(name = "省份")
    private String province;

    /**
     * 城市
     */
    @Excel(name = "城市")
    private String city;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String pwd;

    /**
     * 个性签名
     */
    @Excel(name = "个性签名")
    private String individualitySignature;

    /**
     * 用户OpenID
     */
    @Excel(name = "用户OpenID")
    private String wxOpenId;

    /**
     * 扩展字段
     */
    @Excel(name = "扩展字段")
    private String ext1;

    /**
     * 设备标识
     */
    @Excel(name = "设备标识")
    private String deviceId;
    /**
     * 用户唯一标识（微信公众平台）
     */
    private String unionId;
    /**
     * openId（微信公众平台）
     */
    private String openId;

    /**
     * 文件查询权限 : default = All
     */
    private String showArticleIds = "All";
    /**
     * 文件下载权限
     */
    private String downloadArticleIds = "nul";

    public String getUnionId() {
        return unionId;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getShowArticleIds() {
        return showArticleIds;
    }

    public void setShowArticleIds(String showArticleIds) {
        this.showArticleIds = showArticleIds;
    }

    public String getDownloadArticleIds() {
        return downloadArticleIds;
    }

    public void setDownloadArticleIds(String downloadArticleIds) {
        this.downloadArticleIds = downloadArticleIds;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setGender(Long gender) {
        this.gender = gender;
    }

    public Long getGender() {
        return gender;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCountry() {
        return country;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getProvince() {
        return province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCity() {
        return city;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getPwd() {
        return pwd;
    }

    public void setIndividualitySignature(String individualitySignature) {
        this.individualitySignature = individualitySignature;
    }

    public String getIndividualitySignature() {
        return individualitySignature;
    }

    public void setWxOpenId(String wxOpenId) {
        this.wxOpenId = wxOpenId;
    }

    public String getWxOpenId() {
        return wxOpenId;
    }

    public void setExt1(String ext1) {
        this.ext1 = ext1;
    }

    public String getExt1() {
        return ext1;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceId() {
        return deviceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("nickName", getNickName())
                .append("avatarUrl", getAvatarUrl())
                .append("gender", getGender())
                .append("country", getCountry())
                .append("province", getProvince())
                .append("city", getCity())
                .append("phone", getPhone())
                .append("email", getEmail())
                .append("pwd", getPwd())
                .append("individualitySignature", getIndividualitySignature())
                .append("wxOpenId", getWxOpenId())
                .append("ext1", getExt1())
                .append("createTime", getCreateTime())
                .append("deviceId", getDeviceId())
                .toString();
    }
}
